package com.anti.modular.bus.hydropowermeter.service;

import com.anti.jdbc.support.page.PageParam;
import com.anti.jdbc.support.page.PageResult;
import com.anti.modular.bus.hydropowermeter.entity.HydropowerMeter;
import com.anti.modular.bus.hydropowermeter.param.HydropowerMeterParam;
import com.anti.modular.bus.hydropowermeter.result.HydropowerMeterResult;
import org.springframework.web.bind.annotation.PathVariable;

import java.math.BigDecimal;
import java.util.List;

/**
 * 水電抄表記錄表service接口
 *
 * @author anti
 * @date 2021-05-10 21:19:36
 */
public interface HydropowerMeterService{

    /**
    * 根据主键查询实体
    */
    HydropowerMeter getById(HydropowerMeterParam hydropowerMeterParam);

    /**
     * 查询水電抄表記錄表
     *
     * @author anti
     * @date 2021-05-10 21:19:36
     */
    PageResult page(PageParam pageParam,HydropowerMeterParam hydropowerMeterParam);

    /**
     * 水電抄表記錄表列表
     *
     * @author anti
     * @date 2021-05-10 21:19:36
     */
    List<HydropowerMeter> list(HydropowerMeterParam hydropowerMeterParam);
    List<HydropowerMeter> getMeterListByBillId(Long leaseId, Long costId);
    List<HydropowerMeterResult> getMeterListByStateIdOnJzcb(Long estateId, Long type);
    HydropowerMeterResult getMeterListByStateIdOnJzcbForOne(Long leaseId,Long id);
    List<HydropowerMeterResult> getSdFyListByDetail(HydropowerMeterParam hydropowerMeterParam);


    BigDecimal preReading(Long preDetailId,Long billId,Long costId);

    /**
     * 添加水電抄表記錄表
     *
     * @author anti
     * @date 2021-05-10 21:19:36
     */
    void add(HydropowerMeterParam hydropowerMeterParam);

    void addJzcb(HydropowerMeterParam hydropowerMeterParam);
    void addHuan(HydropowerMeterParam hydropowerMeterParam);

    void addHuanOne(HydropowerMeterResult hydropowerMeterParam);

    /**
     * 删除水電抄表記錄表
     *
     * @author anti
     * @date 2021-05-10 21:19:36
     */
    void delete(HydropowerMeterParam hydropowerMeterParam);

    /**
     * 编辑水電抄表記錄表
     *
     * @author anti
     * @date 2021-05-10 21:19:36
     */
    void edit(HydropowerMeterParam hydropowerMeterParam);

    /**
     * 查看水電抄表記錄表
     *
     * @author anti
     * @date 2021-05-10 21:19:36
     */
     HydropowerMeter detail(HydropowerMeterParam hydropowerMeterParam);

}
